# 1.给定一个列表[3,9,12,35,5,7,10],将列表里的数字按从大到小排序。可以使用自带方法，还需要自己写出一种方法

def sortasc(lst):
    index = len(lst)
    for i in range(len(lst) // 2):
        maxindex = i
        minindex = i
        for j in range(i+1, index): # 这里直接使用if..else循环更简洁
            if lst[j] > lst[maxindex]:
                maxindex = j
            if lst[j] < lst[minindex]:
                minindex = j
        lst[i], lst[minindex] = lst[minindex], lst[i]
        if maxindex == i:
            maxindex = minindex
        lst[index-1], lst[maxindex] = lst[maxindex], lst[index-1]
        index -= 1
    return lst

lst = [35,9,12,3,5,7,10]
print(sortasc(lst))

# 2.给定2个列表[1,2,3],['a','b','c'],不使用中间变量，交换2个列表前后的值，得到最终结果['a',2,'c'],[1,'b',3]

def swap(lst1, lst2):
    lst1[0], lst2[0] = lst2[0], lst1[0]
    lst1[-1], lst2[-1] = lst2[-1], lst1[-1]
    return lst1, lst2

lst1 = [1,2,3]
lst2 = ['a','b','c']
lst1, lst2 = swap(lst1, lst2)
print(lst1, lst2)

# 第一道题目结果是反的，需要把代码的比较顺序换一下。
# 第二道题目可以尝试把两行交换写成一行。